home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / vm / sun4.md / sunMemoryMap < prev    next >
Encoding:
Text File  |  1992-12-19  |  3.3 KB  |  93 lines

  1.  
  2. I modified the vm module for the sun3 so the kernel code and data area can 
  3. grow to 8 megabytes (on machines with at least 8 meg of memory). I've
  4. tested the change and it appears to work.  I'll run it for a while to make
  5. sure everything works before I installed it.
  6.  
  7. Rather than moving the kernel down in the virtual address space and having
  8. to change everyone's Makefile I stole the additional 4 meg from the file 
  9. system block cache.  With this change the maximum size block cache is
  10. 20096 Kbytes which is still more than the amount for physical memory on
  11. any of our sun3's.  Just for reference I made a map of the virtual address
  12. space of the sun3 and sun4.  
  13.  
  14.     Mendel
  15.  
  16. Virtual address space on the sun3:
  17. e61c000 = vmMapEndAddr on 3/50
  18. e660000 = vmBlockCacheBaseAddr on 3/50
  19. e3fc000 = vmStackBaseAddr on 3/50
  20. ea20000 = vmMapEndAddr on paprika
  21. ea60000 = vmBlockCacheBaseAddr on paprika
  22. e800000 = vmStackBaseAddr on paprika
  23. 0800000 = vmKernMemSize on paprika
  24.  
  25.     Address    
  26.     0xFFFFFFFF
  27.        -      Not valid in the sun3 MMU.     3840 Meg
  28.     0x0FFFFFFF
  29.        -       Used for weird IE, LE device mapping.    256 Kbytes 
  30.             (VMMACH_NET_MEM_START = 0xFFE0000)
  31.     0x0FFC0000 = VMMACH_NET_MAP_START
  32.        -       VDMA mapping addresses. 768 Kbytes
  33.     0x0FF00000 = VMMACH_DMA_START_ADDR    
  34.        -      Device mapping area.     1024 Kbytes
  35.           (VMMACH_DEV_END_ADDR = 0xFEFFFFF)
  36.     0x0FE00000 = VMMACH_DEV_START_ADDR = MACH_KERN_END
  37.        -       File system block cache. 20096 Kbytes (19.63 Meg)
  38.     0x0EA60000
  39.        -      Hardware segments used to access PMEGs. 256 Kbytes
  40.     0x0EA20000
  41.        -      Area used to map user pages into kernel.   128 KBytes
  42.     0x0EA00000 = vmBlockCacheBaseAddr = VmMach_AllocKernSpace(vmMapEndAddr)
  43.         vmMachEndAddr = vmMapBaseAddr +vmNumMappedPages * vm_PageSize;
  44.         vmBlockCacheEndAddr = mach_KernEnd = MACH_KERN_END
  45.        -      Kernel Stacks (128 processes).   2048 Kbytes.
  46.           (stacks = 128 procs * (MACH_CODE_START - MACH_STACK_BOTTOM))
  47.     0x0E800000
  48.        -       Kernel Code and Data.  8192 Kbytes.
  49.            (MACH_CODE_START = 0xE004000)
  50.     0x0E000000 - mach_KernStart = MACH_KERN_START = MACH_STACK_BOTTOM
  51.        -      Area for mapping between user's segment. 128 KBytes
  52.           (0xE000000 - VMMACH_SEG_SIZE = VMMACH_MAP_SEG_ADDR)
  53.     0x0DFE0000
  54.        -       User's virtual address space. 229240 Kbytes (223.9 Meg)
  55.     0x00002000 
  56.        -      Invalid page    - 8 Kbytes.
  57.     0x00000000
  58.  
  59. New sun4 mapping:
  60.     Address
  61.     0xFFFFFFFF
  62.        -      Net memory allocation area.
  63.     0xFFFC0000
  64.        -       VDMA mapping addresses. 768 Kbytes
  65.     0xFFF00000    
  66.        -      Device mapping area.     2048 Kbytes
  67.     0xFFD00000
  68.        -      Used for IE device mapping and such.  Contains enough space
  69.           to avoid cache flushes for mapping scatter gather arrays.
  70.     0xFFB80000
  71.        -       File system block cache. 124160 Kbytes (121.25 Meg)
  72.     0xF83C0000
  73.        -      Hardware segments used to access PMEGs. 512 Kbytes
  74.     0xF8340000
  75.        -      Lost due to rounding. 128 Kbytes
  76.     0xF8320000
  77.        -      Area used to map user pages into kernel.   128 KBytes
  78.     0xF8300000
  79.        -      Kernel Stacks (128 processes).   3072 Kbytes.
  80.     0xF8000000
  81.        -       Kernel Code and Data.  40 Meg (Was 32 Meg).
  82.     0xF6000000
  83.        -      Area for mapping between user's segment. 256 KBytes
  84.     0xF5FC0000
  85.        -      Not currently in use. 352000 Kbytes (343.75 Meg)
  86.     0xE0000000
  87.        -      The Hole!! (3072 Meg)
  88.     0x20000000
  89.        -       User's virtual address space. 524280 Kbytes (511.99 Meg)
  90.     0x00002000 
  91.        -      Invalid page    - 8 Kbytes.
  92.     0x00000000
  93.